﻿using System.Collections.Generic;

namespace Gmantis.Uploader
{
    public abstract class FilePackager
    {
        // Fields
        private List<UploadFileInfo> _files;
        private long _maximumUploadSize = -1L;

        // Methods
        public abstract long GetMaxSizePerUpload();
        public abstract IEnumerable<UploadFilePartPackage> GetPackages();
        public long GetTotalSize()
        {
            long num = 0L;
            foreach (UploadFileInfo info in this._files)
            {
                num += info.GetSize();
            }
            return num;
        }

        // Properties
        public List<UploadFileInfo> Files
        {
            get
            {
                return this._files;
            }
            set
            {
                this._files = value;
            }
        }

        public long MaximumUploadSize
        {
            get
            {
                return this._maximumUploadSize;
            }
            set
            {
                this._maximumUploadSize = value;
            }
        }
    }
}
